package com.pm2.entity.plan;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

import org.hibernate.annotations.DynamicUpdate;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 项目计划-主计划
 * @author qin
 *
 */
@Entity
@Table(name="db_pm2_plan_masterplan")
@DynamicUpdate
@Data
@AllArgsConstructor
@NoArgsConstructor
public class MasterPlan {
	// @Fields id : 项目主键
	@Id @Column(name="id")
	@GeneratedValue(strategy=GenerationType.AUTO)
	int id;	 
		
	// @Fields pid : 父计划
	int pid;
	
	// @Fields project_id : 项目编号
	int project_id;
	
	// @Fields plan_name : 计划名称
	String plan_name;
	
	// @Fields plan_content : 计划内容
	String plan_content;
		
	
	// @Fields plan_start_date : 计划起始时间
	Date plan_start_date;
	
	// @Fields plan_end_date : 计划结束时间
	Date plan_end_date;
	
	// @Fields finish_date : 任务完成时间
	Date finish_date;
	
	// @Fields is_finish : true 完成，false 未完成
	boolean is_finish;
	
	// @Fields task_response : 完成情况
	@Column(name="task_response", columnDefinition="LONGTEXT", nullable=true)
	String task_response;
	
	
	// @Fields plan_manday : 计划人天
	int plan_manday;
	String change_reason;
	//项目阶段
	String project_stage;
	/**
	 * 将任务分解改为树形结构的数据
	 */
	String task_level_1;
	
	String task_level_2;
	
	String task_level_3;
	
	/**
	 *分解任务状态标识，当一级任务完成之后将整个计划标记为已经完成
	 */
	String task_level_1_state;//(0--一级为完成1----一级已经完成)
	String task_level_2_state;//(0--二级为完成1----二级已经完成)
	String task_level_3_state;//(0--三级为完成1----三级已经完成)
	
	
	
	int sort_number;
	
	
	
}
